/*
import java.io.File;

*/
/**
 * File删除文件和文件夹方法：
 *  1.删除文件：存在文件则直接删除返回true,如果不存在返回false
 *  2.删除目录：
 *    ①：为空：直接删除
 *    ②：不为空：删不掉 (需要先删除文件夹里面所有文件，再删除文件夹)
 *    ③：不存在直接返回false
 * 注意：delete方法 ==》直接从磁盘中删除，不能像回收站一样可以恢复!!
 * @author 郑清
 *//*

public class text {

    public static void main(String[] args) {
     */
/*   //删除D:/1 路径下的1.txt文件
        File file = new File("D:/1/1.txt");
        System.out.println(file.delete());

        //删除D:/1 路径下的新建文件夹  为空的话可直接使用delete方法删除
        File file2 = new File("D:/1/新建文件夹");
        System.out.println(file2.delete());*//*


     */
/*   //删除D:/1 路径下的新建文件夹2  不为空的情况下 ==》deleteFile 先删除文件夹里的所有文件 再删除文件夹
        File file3 = new File("F:\\测试fiel");
        deleteFile(file3);*//*

    }
    */
/*
     * 如果是文件 ==》直接删除
     * 如果是目录 ==》必须先删除里面每一层目录里的所有文件，最后才能删除外层的目录
     *              原因：不为空的话 删不了
     *//*

    public static void deleteFile(File file) {
        if(file.exists()) {//判断路径是否存在
            if(file.isFile()){//boolean isFile():测试此抽象路径名表示的文件是否是一个标准文件。
                file.delete();
            }else{//不是文件，对于文件夹的操作
                //保存 路径D:/1/新建文件夹2  下的所有的文件和文件夹到listFiles数组中
                File[] listFiles = file.listFiles();//listFiles方法：返回file路径下所有文件和文件夹的绝对路径
                for (File file2 : listFiles) {
                    deleteFile(file2);
                }
            }
            file.delete();
        }else {
            System.out.println("该file路径不存在！！");
        }
    }

}
*/

/*

import org.apache.shiro.codec.Base64;
import org.apache.shiro.crypto.hash.Md5Hash;

public class text{

    *//**
     * base64加密
     * @param str
     * @return
     *//*
    public static String encBase64(String str){
        return Base64.encodeToString(str.getBytes());
    }

    *//**
     * base64解密
     * @param str
     * @return
     *//*
    public static String decBase64(String str){
        return Base64.decodeToString(str);
    }


    *//**
     * md5加密
     * @param str	密码
     * @param salt	盐值（佐料），建议值是唯一的
     * @return
     *//*
    public static String md5Hash(String str,String salt) {
        return new Md5Hash(str, salt).toString();
    }

    */

import java.util.*;

/**
     * md5加密
     * @param str	密码
     * @param salt	佐料
     * @param count	加密次数
     * @return
     *//*
    public static String md5Hash(String str,String salt,int count) {
        return new Md5Hash(str, salt,count).toString();
    }



    public static void main(String[] args) {
        String password = "123456";
        System.out.println("Base64加密："+text.encBase64(password));
        System.out.println("Base64解密："+text.decBase64(text.encBase64(password)));
        System.out.println("MD5加密："+text.md5Hash(password, "test"));
        System.out.println("MD5加密："+text.md5Hash(password, "test",2));
    }
}*/

public class text{
    public static void main(String[] args) {
        List<Map<String, Integer>> list = new ArrayList<Map<String, Integer>>();
        Map<String, Integer> map1 = new HashMap<String, Integer>();
        map1.put("id", 3);
        Map<String, Integer> map2 = new HashMap<String, Integer>();
        map2.put("id", 4);
        Map<String, Integer> map3 = new HashMap<String, Integer>();
        map3.put("id", 1);
        Map<String, Integer> map4 = new HashMap<String, Integer>();
        map4.put("id", 10);
        Map<String, Integer> map5 = new HashMap<String, Integer>();
        map5.put("id", 20);
        list.add(map1);
        list.add(map2);
        list.add(map3);
        list.add(map4);
        list.add(map5);
        //排序前
        System.out.println("---------------排序前------------------");
        for (Map<String, Integer> map : list) {
            System.out.println(map);
        }
        //先根据ID在根据NAME进行排序
        Collections.sort(list, new Comparator<Map<String, Integer>>() {
            public int compare(Map<String, Integer> o1, Map<String, Integer> o2) {
                int sort1=o1.get("id");//从list中拿出来第一个的id和name拼接到一起
                int sort2=o2.get("id");//从list中拿出来第二个的id和name拼接到一起
                return sort1 > sort2 ? 1 : -1;//利用String类的compareTo方法
            }
        });
        //排序后
        System.out.println("---------------排序后------------------");
        for (Map<String, Integer> map : list) {
            System.out.println(map);
        }
    }
}
